package com.torry.edss.integration.feign.cls.response;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 实时市场情绪数据响应类
 * 包含市场整体情绪指标和个股涨跌分布数据
 */
@Data
public class ClsRealTimeEmotionDataResponse {
    /**
     * 市场热度指数（0-100）
     * 值越大表示市场热度越高
     */
    @JsonProperty("market_degree")
    private String marketDegree;

    /**
     * 沪深市场资金平衡度
     * 示例："3824亿" 表示当前市场总资金量
     */
    @JsonProperty("shsz_balance")
    private String shszBalance;

    /**
     * 沪深资金平衡度变化值
     * 示例："-570亿" 表示较前一日减少570亿
     */
    @JsonProperty("shsz_balance_change_px")
    private String shszBalanceChange;

    /**
     * 上涨股票比例（百分比格式） ? 不确定字段含义
     * 示例："62.00%" 表示62%的股票上涨
     */
    @JsonProperty("up_ratio")
    private String upRatio;

    /**
     * 上涨股票数量 ? 不确定字段含义
     * 示例："35" 表示35只股票上涨
     */
    @JsonProperty("up_ratio_num")
    private Integer upRatioNum;

    /**
     * 高开股票数量 ? 不确定字段含义
     * 示例："21" 表示21只股票开盘价高于前收盘价
     */
    @JsonProperty("up_open_num")
    private Integer upOpenNum;

    /**
     * 市场整体表现（百分比格式）
     * 示例："-0.21%" 表示市场整体下跌0.21%
     */
    @JsonProperty("performance")
    private String performance;

    /**
     * 高开股票比例（百分比格式） ? 不确定字段含义
     * 示例："50%" 表示50%的股票今日高开
     */
    @JsonProperty("up_open_ratio")
    private String upOpenRatio;

    /**
     * 盈利股票比例（百分比格式） ? 不确定字段含义
     * 示例："52%" 表示52%的股票处于盈利状态
     */
    @JsonProperty("profit_ratio")
    private String profitRatio;

    /**
     * 涨跌分布详细数据
     * 包含各涨跌幅区间的股票数量统计
     */
    @JsonProperty("up_down_dis")
    private UpDownDistribution upDownDistribution;

    /**
     * 涨跌分布统计内部类
     * 记录不同涨跌幅区间的股票数量
     */
    @Data
    public static class UpDownDistribution {

        /**
         * 数据有效性标志
         * true表示数据有效，false表示数据异常
         */
        @JsonProperty("status")
        private Boolean status;

        /**
         * 停牌股票数量
         * 示例：16 表示当前有16只股票停牌
         */
        @JsonProperty("suspend_num")
        private Integer suspendNum;

        /**
         * 涨停股票数量
         */
        @JsonProperty("up_num")
        private Integer upNum;

        /**
         * 跌停股票数量
         */
        @JsonProperty("down_num")
        private Integer downNum;

        /**
         * 上涨股票总数
         */
        @JsonProperty("rise_num")
        private Integer riseNum;

        /**
         * 下跌股票总数
         */
        @JsonProperty("fall_num")
        private Integer fallNum;

        /**
         * 平盘股票数量
         * 涨跌幅为0的股票数量
         */
        @JsonProperty("flat_num")
        private Integer flatNum;

        // 分级跌幅统计（按跌幅区间）

        /**
         * 跌停股票数量（跌幅≥10%）
         */
        @JsonProperty("down_10")
        private Integer down10;

        /**
         * 跌幅≥8%的股票数量
         */
        @JsonProperty("down_8")
        private Integer down8;

        /**
         * 跌幅≥6%的股票数量
         */
        @JsonProperty("down_6")
        private Integer down6;

        /**
         * 跌幅≥4%的股票数量
         */
        @JsonProperty("down_4")
        private Integer down4;

        /**
         * 跌幅≥2%的股票数量
         */
        @JsonProperty("down_2")
        private Integer down2;

        // 分级涨幅统计（按涨幅区间）

        /**
         * 涨幅≥2%的股票数量
         */
        @JsonProperty("up_2")
        private Integer up2;

        /**
         * 涨幅≥4%的股票数量
         */
        @JsonProperty("up_4")
        private Integer up4;

        /**
         * 涨幅≥6%的股票数量
         */
        @JsonProperty("up_6")
        private Integer up6;

        /**
         * 涨幅≥8%的股票数量
         */
        @JsonProperty("up_8")
        private Integer up8;

        /**
         * 涨停股票数量（涨幅≥10%）
         */
        @JsonProperty("up_10")
        private Integer up10;
    }
}
